import java.util.Scanner;
	
public class Ejecutora {

	public static void main(String[] args) {
		Scanner entrada = new Scanner(System.in);

		cambiarClaveUsuario();
		
		System.out.println("Ingrese el tipo de la maquina: ");
		System.out.println("1- Maquina de gaseosas");
		System.out.println("2- Maquina de monedas");
		int tipoMaq = entrada.nextByte();
		
		Maquina maquina;
		
		if(tipoMaq == 1)
			maquina = new MaqGaseosa();
		else
			maquina = new MaqMoneda();
		
		maquina.menuMantenimiento();
		
		//No termina hasta que se desenchufa la maquina
		while (0 == 0)
			menuSelector(maquina);
	}

	private static void menuSelector(Maquina maquina)
	{
		Scanner entrada = new Scanner(System.in);
		int opc = 0;
		
		do 
		{		
			System.out.println("===============================================================");
			System.out.println("| Ingrese: 1- Menu Usuario                                    |");
			System.out.println("| Ingrese: 2- Menu Mantenimiento                              |");
			System.out.println("===============================================================");
			System.out.println("Ingrese el menu deseado:");
			opc = entrada.nextByte();
			switch (opc) 
			{
				case 1: 
					maquina.menuUsuario();
					break;
				case 2: 
					{
					    if (verificarUsuario())
							maquina.menuMantenimiento();
						else
							maquina.menuUsuario();
						break;
					}
			}
		}
		while (opc!=1 && opc!=2 );
	}
	
	public static boolean verificarUsuario()
	{
		Scanner entrada = new Scanner(System.in);
		
		System.out.println("================================================================");
		System.out.println("|  MAQUINAS GENERICAS BARBAROJA BLANCH BUSTAMANTE version 2.0  |");
		System.out.println("================================================================");
		System.out.println("Ingrese la clave de mantenimiento: ");
		String claveDefault = entrada.next();
		
		if(claveDefault.equals("0"))
			return false;
		
		while (!Mantenimiento.sosClave(claveDefault))
		{
			System.out.println("ERROR! Clave incorrecta, ingresela nuevamente: ");
			claveDefault = entrada.next();
			
			if(claveDefault.equals("0"))
				return false;
		}
		
		return true;
	}
	
	public static void cambiarClaveUsuario()
	{
		Scanner entrada = new Scanner(System.in);
		
		System.out.println("================================================================");
		System.out.println("|  MAQUINAS GENERICAS BARBAROJA BLANCH BUSTAMANTE version 2.0  |");
		System.out.println("================================================================");
		System.out.println("Usted esta ingresando por primera vez al equipo.");
		System.out.println("Debera cambiar la clave de acceso a la consola de Administracion.");
		System.out.println("Ingrese la nueva clave: ");
		String clavePrimera = entrada.next();
		System.out.println("Ingrese nuevamente la clave para confirmar: ");
		String claveConfirma = entrada.next();
		
		while (!clavePrimera.equals(claveConfirma))
		{
			System.out.println("La clave y la confirmacion no concuerda vuelva a ingresar: ");
			System.out.println("Ingrese la nueva clave: ");
			clavePrimera = entrada.next();
			System.out.println("Ingrese nuevamente la clave para confirmar: ");
			claveConfirma = entrada.next();
		}
		
		Mantenimiento.nuevaClaveMantenimiento(clavePrimera);
	}	
}





